草庐IT

PHP array_key_exists 和 UTF 8

全部标签

php json_encode 将utf8字符串转为字符编码

我有一个波斯语文本“سرما”然后当我使用json_encode()将其转换为JSON时,我得到了一系列转义字符代码,例如\u0633,这似乎是预期的并且是理性的过程。但我的困惑在于我不知道如何将它们转换回可读的字符串。我应该如何在PHP中执行此操作?我应该使用mb_*家族的任何东西吗?我还检查了json_encode()参数,但没有找到适合我的东西。更新我保存在我的数据库中的是:[“u0633u0631u0645u0627”]这表明字符没有正确转义。而如果我把它改成["\u0633\u0631\u0645\u0627"]通过json_decode()可以轻松读取

php - 在 PHP 中生成 RSA 私有(private) SSH key

我已经用PHPOpenSSL生成了一个SSHkey:$rsaKey=openssl_pkey_new(array('private_key_bits'=>4096,'private_key_type'=>OPENSSL_KEYTYPE_RSA,));$privKey=openssl_pkey_get_private($rsaKey);openssl_pkey_export($privKey,$pem);这导致$pem看起来像这样:-----BEGINPRIVATEKEY-----MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC8gg

php - Laravel 错误未捕获异常 'ReflectionException',消息为 'Class App\Http\Kernel does not exist'

当我想在我的laravel5.2项目中添加表单时,我在composer中遇到了一些错误。之后我的整个项目都出现了一个奇怪的错误:Fatalerror:Uncaughtexception'ReflectionException'withmessage'ClassApp\Http\Kerneldoesnotexist'inC:\xampp\htdocs\gifkadeh\vendor\laravel\framework\src\Illuminate\Container\Container.php:738Stacktrace:#0C:\xampp\htdocs\gifkadeh\vendor

PHP file_exists 在不存在的文件上返回 true

我有以下代码片段:这应该做的是从配置文件中读取数据,然后使用它连接到MySQL服务器。如果配置文件不存在,它会重定向到一个设置页面,在该页面中创建文件并填充用户提供的数据。问题是,即使文件不存在,file_exists仍然会返回true,这会导致else分支运行并在所有地方失败。我尝试在文件路径中使用$_SERVER['DOCUMENT_ROOT']以防万一;没有区别。 最佳答案 文档:http://php.net/manual/en/function.file-exists.phpReturnsTRUEifthefileordir

PHP array_key_exists key LIKE 字符串,这可能吗?

我已经进行了大量搜索,但无法弄清楚这一点。我有一个这样的数组:$array=array(cat=>0,dog=>1);我有这样一个字符串:Ilikecats.我想查看字符串是否与数组中的任何键匹配。我尝试了以下但显然它不起作用。array_key_exists("Ilikecats",$array)假设我可以在给定时间获得任意随机字符串,我该怎么做呢?伪代码:array_key_exists("Ilikecats",*.$array.*)//Thevalueforcatis"0"请注意,我想检查是否存在任何形式的“猫”。它可以是猫、凯茜,甚至是像vbncatnm这样的随机字母。我正在从

php - LARAVEL - 未找到基表或 View : 1146 Table doesn't exist (SQL: select * from )

这个问题在这里已经有了答案:DBquerytakingwrongtablenameonlaravel[duplicate](1个回答)Laravel-Database,TableandColumnNamingConventions?(4个答案)关闭去年。我有一个Mysql数据库minho.win和一个名为utilizadores的表。我创建了一个模型类phpartisanmake:modelUtilizador当我执行phpartisantinker然后执行App\Utilizador::all()时,我收到此错误:Illuminate\Database\QueryExceptionw

php - 如何在 PHP 中将 UTF-16 十六进制字符串转换为 UTF-8?

我有来自strace的以下输出,我想使用PHP将其转换为UTF-8:R\00f6dhakev\00e4gen4R\00e4ntm\00e4starv\00e4gen24K\00d8BENHAVN我认为上面的字符串是UTF16HEX。 最佳答案 发现下面的函数起作用了:functionutf8_urldecode($str){$str=str_replace("\\00","%u00",$str);$str=preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));r

PHP 安全 : 'Nonce' or 'unique form key' problem

我使用此类(取自博客教程)生成唯一键来验证表单:classformKey{//Herewestorethegeneratedformkeyprivate$formKey;//Herewestoretheoldformkeyprivate$old_formKey;//Theconstructorstorestheformkey(ifoneexcists)inourclassvariablefunction__construct(){//Weneedthepreviouskeysowestoreitif(isset($_SESSION['form_key'])){$this->old_fo

php - 生成注册激活 key 时如何防止冲突?

我正在研究一个大项目的注册系统。注册成功后,服务器会生成一些激活key,将其添加到用户行并通过电子邮件发送给用户。为此目的使用一些密码生成器类。问题是(我知道这听起来很抽象,但我只是想知道),如何避免重复生成pass?我的意思是,将来生成器是否有可能创建数据库表中已经存在的激活key?我应该在key生成后检查重复项吗? 最佳答案 我建议使用Text_Passwordpackage来自梨。不要试图重新发明这个轮子。不要强制密码严格唯一。强制执行实际上不太安全。考虑一下,如果我尝试将密码设置为xyzzy而网站告诉我不能,这意味着现在我知

php - Javascript crc32 函数和 PHP crc32 与 UTF8 不匹配

我一直在尝试从PHP获取crc32函数以匹配javascript生成的结果。我浏览了在网上找到的4个不同的javascriptcrc32库(1、2、3、4),它们都适用于ascii,但是当你向它抛出utf8字符时,所有四个js库都输出相同的错误答案。Thisoldstackoverflowquestion似乎是最接近的答案,但在我的测试中仍然不起作用。例如:php:crc32('tést')=727386373javascript:crc32.genBytes('tést')=3109344618为方便起见,这里是最紧凑的版本。functionstringToBytes(str){va